/*
 * @Description:
 * @Author: 胡涛
 * @Date: 2023-09-06 21:59:12
 * @LastEditors: 胡涛
 * @LastEditTime: 2023-11-09 23:07:18
 */
import api from "@/api";
import { ListResultDto, PagedListResultDto } from "../types";
import {
  ChangePasswordInputDto,
  GetSystemUserInputDto,
  SystemUserDto,
} from "./types";

export default {
  /**
   * 获取单条记录
   * @param id
   * @param data
   * @returns
   */
  get(id: string): Promise<SystemUserDto> {
    return api.get("/api/Platform/systemUser/" + id);
  },
  /**
   * 获取列表
   * @param id
   * @param data
   * @returns
   */
  getList(
    data: Partial<GetSystemUserInputDto>
  ): Promise<PagedListResultDto<SystemUserDto>> {
    return api.get("/api/Platform/systemUser", data);
  },
  /**
   * 获取列表（不分页）
   * @param id
   * @param data
   * @returns
   */
  getAllList(
    data: Partial<GetSystemUserInputDto>
  ): Promise<Array<SystemUserDto>> {
    return api.get("/api/Platform/systemUser/getall", data);
  },
  /**
   * 添加
   * @param id
   * @param data
   * @returns
   */
  create(data: Partial<SystemUserDto>): Promise<SystemUserDto> {
    return api.post("/api/Platform/systemUser", data);
  },
  /**
   * 修改
   * @param id
   * @param data
   * @returns
   */
  update(id: string, data: Partial<SystemUserDto>): Promise<SystemUserDto> {
    return api.put("/api/Platform/systemUser/" + id, data);
  },
  /**
   * 删除
   * @param id
   * @returns
   */
  delete(id: string): Promise<SystemUserDto> {
    return api.delete("/api/Platform/systemUser/" + id);
  },
  /**
   * 修改密码
   * @param data
   * @returns
   */
  changePassword(data: ChangePasswordInputDto): Promise<any> {
    return api.post("/api/Platform/systemUser/changePassword", data);
  },
  
  /**
   * 重置密码
   * @param data 
   * @returns 
   */
  resetPassword(data: { id: string; password: string }): Promise<any> {
    return api.post("/api/Platform/systemUser/resetPassword", data);
  },
};
